import { apiClient } from './axios'

export const materialUsageApi = {
  /**
   * 获取材料使用记录列表
   * @param {Object} params - 查询参数
   * @returns {Promise}
   */
  getUsageRecords(params: any = {}) {
    return apiClient.get('/material-usage', { params })
  },

  /**
   * 获取单个使用记录详情
   * @param {string|number} id - 记录ID
   * @returns {Promise}
   */
  getUsageRecord(id: string | number) {
    return apiClient.get(`/material-usage/${id}`)
  },

  /**
   * 创建使用记录
   * @param {Object} data - 记录数据
   * @returns {Promise}
   */
  createUsageRecord(data: any) {
    return apiClient.post('/material-usage', data)
  },

  /**
   * 更新使用记录
   * @param {string|number} id - 记录ID
   * @param {Object} data - 更新数据
   * @returns {Promise}
   */
  updateUsageRecord(id: string | number, data: any) {
    return apiClient.put(`/material-usage/${id}`, data)
  },

  /**
   * 删除使用记录
   * @param {string|number} id - 记录ID
   * @returns {Promise}
   */
  deleteUsageRecord(id: string | number) {
    return apiClient.delete(`/material-usage/${id}`)
  },

  /**
   * 获取使用记录统计数据
   * @param {Object} params - 查询参数
   * @returns {Promise}
   */
  getUsageStats(params: any = {}) {
    return apiClient.get('/material-usage/stats', { params })
  },

  /**
   * 导出使用记录
   * @param {Object} params - 导出参数
   * @returns {Promise}
   */
  exportUsageRecords(params: any = {}) {
    return apiClient.get('/material-usage/export', { params, responseType: 'blob' })
  }
}